//
//  SEGIAnalyticsDBManager.h
//  test
//
//  Created by 刘山 on 2017/12/3.
//  Copyright © 2017年 刘山. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface SEGIAnalyticsDBManager : NSObject
/**
 * 创建数据库
 * @author Sam
 * @param dbName  数据库名
 */
+(void)segCreateDBWithDbName:(NSString*)dbName;

/**
 * 创建数据表
 * @author Sam
 * @param aName  数据库名
 * @param table  创建表的SQL语句
 * demo: create table bulktest1 (id integer primary key autoincrement, x text);
 */
+ (BOOL)segCreateTableWithDBName:(NSString*)aName WithTable:(NSString*)table;

/**
 * 插入数据
 * @author Sam
 * @param data   数据字典
 * @param aName  数据库名
 * @param table  创建表的SQL语句
 */
+ (BOOL)segInsertWithDictionary:(NSDictionary*)data DBName:(NSString*)aName WithTable:(NSString*)table;

/**
 *  查询数据
 *  @author Sam
 *  @param aName  数据库名
 *  @param sql    查询语句
 *  @param values 查询参数
 *  @return 返回值：Array
 *  示例：NSArray* arr = [SEGIAnalyticsDBManager segExecuteQueryWithDBName:DBName WithSQL:@"SELECT * FROM t_table WHERE sex = ?" OfValues:@[ @0 ]];
 */
+ (NSArray*)segExecuteQueryWithDBName:(NSString*)aName WithSQL:(NSString*)sql OfValues:(NSArray*)values;

/**
 *  插入、修改、删除 数据表
 *  @author Sam
 *  @param aName  数据库名
 *  @param sql    执行的SQL语句(条件的数值用：？来隔离)
 *  @param values 条件数值
 *  示例：[SEGIAnalyticsDBManager segExecuteDB:DBName WithSQL:@"delete from t_table where age > ?;" OFValues:@[ @(2) ]];
 */
+ (BOOL)segExecuteDB:(NSString*)aName WithSQL:(NSString*)sql OfValues:(NSArray*)values;

/**
 * 获取模型中所有字段的名字
 * @author Sam
 * @param mdoel  模型名
 */
+(NSArray*)segAllKeysFromModel:(id)mdoel;

+ (BOOL)isTableOK:(NSString *)tableName DB:(NSString*)aName;

+ (NSString*)filePath:(NSString*)name;
@end
